.MapView {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

.map {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;

  :global(.mapboxgl-control-container) {
    :global(.mapboxgl-ctrl) {
      :global(.mapboxgl-ctrl-zoom-out) {
        border-radius: 0;
      }

      :global(.mapbox-gl-draw_polygon) {
        border-radius: 0;
      }

      :global(.mapbox-gl-draw_point) {
        border-radius: 0;
      }
    }

    :global(.mapboxgl-ctrl):has(> :global(.mapboxgl-ctrl-logo)) {
      display: none !important;
    }
  }

  :global(.mapboxgl-ctrl-group) {
    background-color: transparent;
    box-shadow: none !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    color: var(--theme-color-base);

    button:not(:disabled):hover {
      background-color: var(--theme-bg-second) !important;
    }

    button>span {
      mix-blend-mode: difference;
      filter: invert(75%);
    }

    :global(.mapboxgl-ctrl-zoom-in) {
      background-color: var(--theme-bg-base);
      box-shadow: var(--theme-box-shadow-base);
    }

    :global(.mapboxgl-ctrl-zoom-out) {
      background-color: var(--theme-bg-base);
      border-radius: 0 0 4px 4px !important;
      border-top: 1px solid var(--theme-border-base);
      box-shadow: var(--theme-box-shadow-base);
    }

    :global(.mapboxgl-ctrl-compass) {
      margin-top: 4px;
      width: 45px;
      height: 45px;
      background-color: var(--theme-bg-base);
      border-radius: 50% !important;
      border: 1px solid var(--theme-border-base);
      box-shadow: var(--theme-box-shadow-base);
    }
  }

  :global(.mapboxgl-ctrl-scale) {
    background-color: var(--theme-bg-base);
    color: var(--theme-color-base);
    border: 2px solid var(--theme-border-base);
    border-top: none;
    box-shadow: var(--theme-box-shadow-base);
  }

  canvas:focus-visible {
    border: none;
    outline: none;
    box-shadow: none;
    // filter: blur(5px);
  }
}